//package com.corpgovernment.organization.util;
//
//import java.util.concurrent.*;
//
///**
// * @ClassName: ThreadPoolUtils
// * @description: TODO
// * @author: zdwang
// * @date: Created in 16:45 2019/7/22
// * @Version: 1.0
// **/
//public class ThreadPoolUtils {
//    public static ThreadPoolExecutor threadPool;
//
//    /**
//     * 无返回值直接执行
//     *
//     * @param runnable
//     */
//    public static void execute(Runnable runnable) {
//        getThreadPool().execute(runnable);
//    }
//
//    /**
//     * 返回值直接执行
//     *
//     * @param callable
//     */
//    public static <T> Future<T> submit(Callable<T> callable) {
//        return getThreadPool().submit(callable);
//    }
//
//
//    public static ThreadPoolExecutor getThreadPool() {
//        if (threadPool != null) {
//            return threadPool;
//        } else {
//            synchronized (ThreadPoolUtils.class) {
//                if (threadPool == null) {
//                    int poolSize = Runtime.getRuntime().availableProcessors() * 2;
//                    BlockingQueue<Runnable> queue = new ArrayBlockingQueue<>(512);
//                    RejectedExecutionHandler policy = new ThreadPoolExecutor.DiscardPolicy();
//                    threadPool = new ThreadPoolExecutor(poolSize, poolSize, 0, TimeUnit.SECONDS, queue, policy);
//                }
//                return threadPool;
//            }
//        }
//    }
//
//
//
//}